RedHat 系发行版相关
Table of Contents
1. dnf 包管理
1.1. 自动选择最快的镜像源
在配置文件 /etc/dnf/dnf.conf 加一行配置:
[main] ... fastestmirror=1
2. Red Hat Enterprise Linux
2.1. 安装
关于 /boot 分区,官方文档说:
- /boot 分区至少 1G 且不能用 LVM。
- /boot/efi 分区至少 200 MiB,最大为 600 MiB ( 默认 )。使用 vfat 作为文件系统。BIOS 系统不需要这个分区。
2.2. 注册信息管理
需要 root 权限,执行 subscription-manager register --username <username> --password <password> --auto-attach
注册系统后,自动关联匹配系统的可用订阅。
执行 subscription-manager unregister
删除本机的注册信息。
执行 subscription-manager list –available
查看所有可用的订阅。
执行 subscription-manager subscribe --pool=Pool_ID
从上一条命令中展示的 pool 中选一个进行注册。
2.3. 网络管理
2.3.1. dns-search ( DNS 搜索 ) 的作用
当主机在 DNS 中查不到域名时,会将 dns-search 的值拼接在所查询的域名后面再次查询。
比如内网中有一台机器名为 11.debian.local,现在本机的 DNS 配置为:
# resove.conf search local nameserver 119.29.29.29
那么本机可以使用 http://11.debian.local 或者 http://11.debian 来访问 11.debian.local 上的 HTTP 服务。
2.3.2. 禁止 NetworkManager 接管 /etc/resolv.conf
用 root 权限,将以下内容填入 /etc/NetworkManager/conf.d/90-dns-none.conf 文件:
[main] dns=none
systemctl reload NetworkManager
重载 NetworkManager 服务后,NetworkManager 不再更新 /etc/resolv.conf 文件,但是该文件的最后内容将被保留。
可从 /etc/resolv.conf 中删除 Generated by NetworkManager
注释以避免混淆。
3. Fedora
3.1. 系统版本升级
3.1.1. 升级
sudo dnf --refresh upgrade
忽略本地缓存,重新从服务器获取各个包的版本信息后,进行更新。
注: upgrade
是 update
命令的别名,且 update
已被弃用。
sudo reboot
重启机器以应用更新。
sudo dnf install dnf-plugin-system-upgrade
安装更新系统所需要的 dnf 包管理器插件。
sudo dnf system-upgrade download --releasever=35
下载 fedora 35 所需的软件包。需要的时间可能会长一些。
如果系统内有从第三方源安装的软件包,而第三方源还没有发布新系统可用的软件包时,fedora 会拒绝升级。
sudo dnf system-upgrade download --releasever=35 --allowerasing
在下载新版本系统所需的软件包时,自动卸载安装到系统内的、破坏依赖关系的,可能来自于第三方源,或者用户自己制作的包。
sudo dnf system-upgrade reboot
在所有包都下载完成之后,更新系统。系统会重启并更新。
系统重启完成后,fedora 就会是最新版本了。
3.1.2. 清理
sudo dnf system-upgrade clean
在完成更新之后,可以手动删除系统升级时产生的元数据。
sudo dnf clean packages
删除本地的软件包缓存。
sudo dnf upgrade
系统升级后,尝试更新软件包。
sudo dnf repoquery --unsatisfied
列出为满足依赖关系的软件包。
sudo dnf repoquery --duplicates
列出重复的软件包。
sudo dnf list extras
列出不在任何软件源之内,但安装到系统的包。
sudo dnf autoremove
删除已经不被需要的软件包。
在升级系统后,系统内部可能会留下一些不再有用的链接。
sudo symlinks -r /usr | grep dangling
查找 /usr
目录下不再有用的链接。
sudo symlinks -r -d /usr
删除 /usr
目录下不再有用的链接。